package com.honghu.cloud.service;

import java.util.List;
import java.util.Map;

import com.honghu.cloud.bean.Goods;
import com.honghu.cloud.bean.GoodsSpecProperty;
import com.honghu.cloud.common.page.Page;
import com.honghu.cloud.dto.AccessoryDto;

/**
 * 商品service接口
 * @author Administrator
 *
 */
public interface IGoodsService {
	
	public void batchDelObjs(List<Goods> objs);

	public Goods getObjByProperty(String key, String operation_symbol, Object value);

	public List<Goods> selectObjByProperty(Map<String, Object> maps);

	public List<Goods> queryPages(Map<String, Object> params);

	public List<Goods> queryPageListWithNoRelations(Map<String, Object> param);

	public List<Goods> queryPagesWithNoRelations(Map<String, Object> params, Integer currentPage, Integer pageSize);

	public List<Goods> queryPagesWithNoRelations2(Map<String, Object> params);

	public Page<Goods> queryPagesWithNoRelations(Map<String, Object> params);

	public Page<Goods> list(Map<String, Object> params);

	public void batchDeleteByIds(List<Long> ids);

	public void saveEntity(Goods obj);

	public void updateById(Goods obj);

	public void deleteById(Long id);

	public Goods selectByPrimaryKey(Long id);

	public List<Goods> queryPageList(Map<String, Object> params, Integer begin, Integer max);

	public List<Goods> queryPageList(Map<String, Object> params);

	public int selectCount(Map<String, Object> params);

	public void batchDeleteGoodsPhotos(Long goodsId, List<AccessoryDto> goodsPhotos);


	public void batchDeleteGoodsSpecProperty(Long goodsId, List<GoodsSpecProperty> gsps);

	public void deleteGoodsMainPhoto(Long id);

	public void delete(Long id);

	public void update(Goods obj);

	public List<Goods> queryGoodsByGoodsClassIds(Map<String, Object> params);

	public void removeGoodsBrandByGoodsBrandId(Map<String, Object> params);

	public void saveGoodsPhotos(Long id, List<AccessoryDto> goods_photos);
	

	public void saveGoodsSpecProperty(Long id, List<GoodsSpecProperty> gsps);
	
	public void saveGoodsSpecProperty2(Long id, List<GoodsSpecProperty> gsps);
	
	public List<Map<String, Object>> queryGoodsList(Map<String, Object> params);

	public Map<String, Object> selectGoodsById(Long id);

	public void addUserLiveGoods(Map<String, Object> params);

	public void addStoreAgentGoods(Map<String, Object> params);
	
	public void delUserLiveGoods(Map<String, Object> params);

	public void delStoreAgentGoods(Map<String, Object> params);
	
	public Integer findUserLiveGoods(Long uid, Long goods_id);

	public Integer findStoreAgentGoods(Long store_id, Long goods_id);

	public Map<String, Object> goodsStoreStatis(Long store_id);
	
	public List<Goods> getRecommendGoods(List<Long> ids);

	public void batchDeleteUserGoodsClass(Map<String, Object> params);

	public void batchDeleteGoodsPhotos(Map<String, Object> params);

	public void batchDeleteGoodsSpecProperty(Map<String, Object> params);


	public void deleteGoodsPhotosById(Long id);


	public int selectSalenum(Map<String, Object> params);

}
